using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UD.GRAL.DataAccess;
using UD.GRAL.Entity;
using UD.Utilities.Exceptions;

namespace UD.GRAL.Business
{
    public class NivelFormacionBLL
    {
        private NivelFormacionDAL vNivelFormacionDAL;
        public NivelFormacionBLL()
        {
            vNivelFormacionDAL = new NivelFormacionDAL();
        }
        public int InsertarNivelFormacion(NivelFormacion pNivelFormacion)
        {
            try
            {
                return vNivelFormacionDAL.InsertarNivelFormacion(pNivelFormacion);
            }
            catch (UserInterfaceException)
            {
                throw;
            }
            catch (Exception ex)
            {
                 throw new GenericException(ex);
            }
        }
        public int ModificarNivelFormacion(NivelFormacion pNivelFormacion)
        {
            try
            {
                return vNivelFormacionDAL.ModificarNivelFormacion(pNivelFormacion);
            }
            catch (UserInterfaceException)
            {
                throw;
            }
            catch (Exception ex)
            {
                 throw new GenericException(ex);
            }
        }
        public int EliminarNivelFormacion(NivelFormacion pNivelFormacion)
        {
            try
            {
                return vNivelFormacionDAL.EliminarNivelFormacion(pNivelFormacion);
            }
            catch (UserInterfaceException)
            {
                throw;
            }
            catch (Exception ex)
            {
                 throw new GenericException(ex);
            }
        }

        public NivelFormacion ConsultarNivelFormacion(int pIdNivelFormacion)
        {
            try
            {
                return vNivelFormacionDAL.ConsultarNivelFormacion(pIdNivelFormacion);
            }
            catch (UserInterfaceException)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw new GenericException(ex);
            }
        }

        public List<NivelFormacion> ConsultarNivelFormacions(String pCodNivelFormacion, String pNombreNivelFormacion, Boolean? pEstado)
        {
            try
            {
                return vNivelFormacionDAL.ConsultarNivelFormacions(pCodNivelFormacion, pNombreNivelFormacion, pEstado);
            }
            catch (UserInterfaceException)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw new GenericException(ex);
            }
        }
    }
}
